﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BusinessLogicLayer;
using DataAccessLayer;
namespace BusinessLogicLayer
{
    public class LoaiPhepBLL
    {
        QuanLyChamCongDataContext DB = new QuanLyChamCongDataContext();
        public List<LOAIPHEP> LayTatCa()
        {
            return DB.LOAIPHEPs.ToList();
        }

        public string KiemTraTonTai(int _maLP, string _tenLP)
        {
            if (DB.LOAIPHEPs.Any(a => a.MaLoaiPhep == _maLP))
            {
                return "Mã loại phép";
            }
            else if (DB.LOAIPHEPs.Any(a => a.TenLoaiPhep == _tenLP))
            {
                return "Tên loại phép";
            }
            else
            {
                return null;
            }
        }

        public string LayMaLCTheoLoaiPhep(int _MaLP)
        {
            LOAIPHEP L = DB.LOAIPHEPs.SingleOrDefault(lp => lp.MaLoaiPhep == _MaLP);
            if (L != null)
                return (string)L.MaLoaiCong;
            else return "Mã loại phép không tồn tại!";
        }

        public string kiemTraTenTonTai(string _TenLP)
        {
            LOAIPHEP L = DB.LOAIPHEPs.SingleOrDefault(lp => lp.TenLoaiPhep == _TenLP);
            if (L != null)
                return (string)L.TenLoaiPhep + " đã tồn tại";
            else return null;
        }

        public LOAIPHEP LayLoaiPhepTheMaLP(int _MaLP)
        {
            LOAIPHEP L = DB.LOAIPHEPs.SingleOrDefault(lp => lp.MaLoaiPhep == _MaLP);
            if (L != null)
            {
                return L;
            }
            else return null;
        }
        public void themLoaiPhep(LOAIPHEP LP)
        {
            DB.LOAIPHEPs.InsertOnSubmit(LP);
            DB.SubmitChanges();
        }
        public void SuaLoaiPhep(LOAIPHEP LP)
        {
            LOAIPHEP lpo = DB.LOAIPHEPs.SingleOrDefault(a => a.MaLoaiPhep == LP.MaLoaiPhep);
            lpo.TenLoaiPhep = LP.TenLoaiPhep;
            lpo.MoTa = LP.MoTa;
            lpo.MaLoaiCong = LP.MaLoaiCong;
            DB.SubmitChanges();
        }
        public void XoaLoaiPhep(int _MaLP)
        {
            LOAIPHEP lp = LayLoaiPhepTheMaLP(_MaLP);
            DB.LOAIPHEPs.DeleteOnSubmit(lp);
            DB.SubmitChanges();
        }
    }
}
